package com.example.randomnamemodule;

import android.content.Context;
import android.content.res.AssetManager;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;

/**
 * 读取assets中的名单文件工具类
 */
public class NameAssetUtils {

    /**
     * 从assets目录读取指定名单文件
     * @param context 上下文
     * @param fileName 要读取的文件名
     * @return 名单列表（读取失败返回空列表）
     */
    public static List<String> readNamesFromAssets(Context context, String fileName) {
        List<String> nameList = new ArrayList<>();
        AssetManager assetManager = context.getAssets();

        try {
            // 打开指定的文件
            InputStream is = assetManager.open(fileName);
            // 使用UTF-8编码读取，确保中文正常显示
            try (BufferedReader br = new BufferedReader(
                    new InputStreamReader(is, StandardCharsets.UTF_8))) {
                String line;
                while ((line = br.readLine()) != null) {
                    String name = line.trim();
                    if (!name.isEmpty()) { // 过滤空行
                        nameList.add(name);
                    }
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        return nameList;
    }
}
